/*
 * 04开辟堆空间存储结构体.c
 *
 *  Created on: 2024年3月15日
 *      Author: sulei_zhang
 */
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

typedef struct student ss; // 起个别名
struct student {
	// 结构体成员需要偏移对齐，所以name占了21，那么age就从24开始
	char name[21]; // 字符数组都是地址
	int age;
	char sex;
	int score[3];
	char addr[51];
};

int main0904(){
	int a = 10;
	sizeof(a);
	sizeof(int);
	printf("%d\n", sizeof(struct student));

	struct student* p = (struct student*)malloc(sizeof(struct student)*3);
	ss* p2 = (ss*)malloc(sizeof(ss)*3);

	// 张三 29,M 59 60 49 北京
	// 张三1 29,M 59 60 49 北京
	// 张三3 29,M 59 60 49 北京
	for(int i=0; i<3; i++){
		scanf("%s%d,%c%d%d%d%s", p2[i].name, &p2[i].age, &p2[i].sex, &p2[i].score[0], &p2[i].score[1], &p2[i].score[2],
				p2[i].addr);
	}

	for(int i=0; i<3; i++){
		printf("姓名：%s\n", p2[i].name);
		printf("年龄：%d\n", p2[i].age);
		printf("性别：%s\n", p2[i].sex == 'M'?"男":"女");
		printf("成绩：%d\n", p2[i].score[0]);
		printf("成绩1：%d\n", p2[i].score[1]);
		printf("成绩2：%d\n", p2[i].score[2]);
		printf("地址：%s\n", p2[i].addr);
	}
	return 0;
}
